Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Partial reset



   Python – parallelizing CPU-bound tasks with multiprocessing

In a previous post on Python threads, I briefly mentioned that threads are unsuitable for CPU-bound tasks, and multiprocessing should be used instead. Here I want to demonstrate this with benchmark numbers, also showing that creating multiple processes in Python is just as simple as creating multiple threads. First, let’s pick a simple computation to use for the benchmarking. I don’t want it to be completely artificial, so I’ll use a dumbed-down version of factorization...

   Python,Multitasking,Multiprocessing,CPU bound     2012-01-17 11:38:22

  How many programmers does it take to screw in a lightbulb?

There seem to be a lot of “How many programmers does it take to screw in a lightbulb?” jokes floating around the Internet, but none aimed specifically for us SQA folk.  I have decided (perhaps mistakenly) that this is no longer acceptable.  If this decision is a mistake, I'm sure that someone else in QA will report it up as a bug and assign it to me.  For better or worse, there is now an SQA set of these jokes, thanks to me.  Now, without further ado, let the pun...

       2016-05-08 12:43:34

  Introduction to OAuth (in Plain English)

Last week we talked about giving away your passwords and how you should never do it.  When a website wants to use the services of another—such as Bitly posting to your Twitter stream—instead of asking you to share your password, they should use OAuth instead. OAuth is an authentication protocol that allows you to approve one application interacting with another on your behalf without giving away your password. This is a quick guide to illustrate, as simply as possibl...

   Security,OAuth,Permission,Partial access     2012-04-05 11:39:54

  Why exception would be thrown when deleting element while looping through HashMap in Java

HashMap and other Collection types are frequently used in Java application programming. This post will explain why exception would be thrown when deleting element with Map.remove() while looping through a Map using Iterator. This issue would also occur to other Collection types such as Set, List. Below is a sample code snippet demonstrating the exception thrown. Map<String,String> map = Collections.synchronizedMap(new TreeMap<String,String>()); map.put("key1","value1"); map.put("ke...

   JAVA,HASHMAP,CONCURRENTMODIFICATIONEXCEPTION     2018-06-30 12:49:09

  Some tricks and tips for using for range in GoLang

GoLang provides two major ways to loop through elements of array, slice and map. They are for and for range. Many people find that for range is very convenient when don't care about the index of the element. In this post, some tricks and tips would be talked about regarding for range. 1. Loop and get pointer of each element Assume there is a code snippet like below which is to get the pointer of each element in an array and create a new array with the corresponding pointer. arr := [2]int{1, 2} r...

   POINTER,FOR LOOP,GOLANG,FOR RANGE     2020-03-08 01:07:00

  Why Android Will Always Be Laggier Than iOS

One of the things that really stands out using an iPhone is just how smooth it feels compared to using Android. Where as Android is laggy, with a measurable interim between when you touch the screen and when the OS responds, iOS almost seems to anticipate what you want to do before your finger touches the display.How has Apple managed this incredible feat? A better question might be: “How has Google managed to screw up Android’s multitouch so much?” According to Andrew M...

   Android,iOs,Speed,UI Design,Lag     2011-12-07 03:17:18

  Restore mocked variables in GoLang unit test

One of the guarding principles of writing unit test is that there should be no real external calls for dependant services. Unit test should run by its own and can run without issues on any environment including local, build, test environment. This indicates there should be some mock responses whenever an external call is needed so that different unit test scenarios can be covered. How can this be done in GoLang? In GoLang, anything can be assigned to a variable even including functions. A variab...

   GOLANG,UNIT TEST,MOCK FUNCTION,RESTORE MOCK     2021-12-10 20:43:00

  How Computers Boot Up

The previous post described motherboards and the memory map in Intel computers to set the scene for the initial phases of boot. Booting is an involved, hacky, multi-stage affair – fun stuff. Here’s an outline of the process: An outline of the boot sequence Things start rolling when you press the power button on the computer (no! do tell!). Once the motherboard is powered up it initializes its own firmware – the chipset and other tidbits – and tries to ...

   Computer,Boot-up,Rationale     2012-04-11 13:43:02

  Collection Of Puzzles For Programmers

Did you know that we have a nice collection of puzzles here on less than dot? Some are harder than others so there is something for everyone. You can pic any language you want, you will see that there are solutions in Ruby, Python, Visual Basic, SQL, JavaScript, C++ and other. Here is a partial list of what we have Friday the Thirteenths The goal is to identify all friday the thirteenths for a given timeframe Regular Pentagon Given a grid co-ordinate (x,y) as the centre point of a regu...

   Programming puzzle,Fibonacci,Prime,ASCII     2012-01-04 08:06:18

  What Makes A Great Programmer?

I remember it like it was yesterday. It was the year 2000, Dr. Pargas was standing at the front of our data structures class talking about some data structure-y topic while an SSH session was projected on the wall in front of us. Someone asked a question, and he said something along the lines of "Well, if you want to be a real computer scientist you need to start using vi". I think he was smiling as he said it, and in hindsight his statement wasn't even slightly true, but being young and ...

   Tips.Programmer,Great,Great programmer     2011-06-08 03:08:04